package SealedClasses;

/**
 * @author LiuYan
 * @date 2023/5/21
 *
 * Sealed classes可以用来限制一个类所能拓展的子类范围，并在编译时进行检查。这样可以确保类的继承体系不会被滥用，从而提高代码的安全性和稳定性。
 * 1、定义一个sealed class，使用sealed关键字来修饰。
 * 2、在sealed class中指定允许的子类，使用permits关键字后跟子类名称
 * 3、所有继承自sealed class的子类必须具备以下特征之一：final、sealed或non-sealed。
 * 其中，final表示该类不能再有子类；sealed表示该类只能被特定的类继承；non-sealed表示可以有任意数量的子类。
 */
public sealed class Animal permits Dog, Cat, Fish {


}
